/**
 * 日期格式化函数<br/>
 * 调用格式：需要使用日期对象调用
 * <p> new Date().Format("yyyy/MM/dd HH:mm:ss"); </p>
 * @param fmt 日期格式
 * @returns {*} 返回格式化后的日期
 * @constructor
 */
export default {
    formatDate: (date, fmt) => {
        if (!date) return '';
        date = new Date(date);
        const object = {
            "M+": date.getMonth() + 1, // 月
            "d+": date.getDate(), // 日
            "H+": date.getHours(), // 时
            "m+": date.getMinutes(), // 分
            "s+": date.getSeconds(), // 秒
            "q+": Math.floor((date.getMonth() + 3) / 3), // 季度
            "S": date.getMilliseconds() // 毫秒
        };
        // 正则表达式
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (const pattern in object) {
            if (new RegExp("(" + pattern + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (object[pattern]) : (("00" + object[pattern]).substr(("" + object[pattern]).length)));
            }
        }
        return fmt;
    }
}